home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / ip / ka9q / alpha.arc / FTP.H < prev    next >
C/C++ Source or Header  |  1988-02-16  |  1KB  |  41 lines

  1. #define CTLZ    26        /* EOF for CP/M systems */
  2.  
  3. extern char userfile[];    /* List of user names and permissions */
  4.  
  5. /* Per-session control block */
  6. struct ftp {
  7.     struct ftp *prev;    /* Linked list pointers */
  8.     struct ftp *next;
  9.     struct tcb *control;    /* TCP control connection */
  10.     char state;
  11. #define    COMMAND_STATE    0    /* Awaiting user command */
  12. #define    SENDING_STATE    1    /* Sending data to user */
  13. #define    RECEIVING_STATE    2    /* Storing data from user */
  14.  
  15.     char type;        /* Transfer type */
  16. #define    IMAGE_TYPE    0
  17. #define    ASCII_TYPE    1
  18.  
  19.     FILE *fp;        /* File descriptor being transferred */
  20.     struct socket port;    /* Remote port for data connection */
  21.     struct tcb *data;    /* Data connection */
  22.  
  23.     /* The following are used only by the server */
  24.     char *username;        /* Arg to USER command */
  25.     char *path;        /* Allowable path prefix */
  26.     char perms;        /* Permission flag bits */
  27. #define    FTP_READ    1    /* Read files */
  28. #define    FTP_CREATE    2    /* Create new files */
  29. #define    FTP_WRITE    4    /* Overwrite or delete existing files */
  30.  
  31.     char *buf;        /* Input command buffer */
  32.     char cnt;        /* Length of input buffer */
  33.     char *cd;        /* Current directory name */
  34.  
  35.     /* And this is used only by the client */
  36.     struct session *session;
  37. };
  38.  
  39. #define    NULLFTP    (struct ftp *)0
  40.  
  41.